In some conventional systems, a list of items, such as files in a file directory, can be displayed as a hierarchical tree within a window that has a particular width and height. Typically, when the hierarchical tree is displayed, at least one root node is displayed along with several child nodes. A root node is at the highest level of the hierarchy, and child nodes "depend from" the root node. Additionally, the nodes from which child nodes depend are known as parent nodes. Therefore, each root node that has child nodes is a parent node. Also, some nodes are child nodes that depend from a parent node and are parent nodes from which other child nodes depend. Each of the nodes in the hierarchical tree corresponds to an item in the list, and each node has a label.
In these conventional systems, the window containing the hierarchical tree sometimes is not wide enough to display a parent node and its child nodes. FIG. 1 illustrates a list of items displayed as a hierarchical tree within a window 100. This window 100 is adjacent to another window 102 that is used to display other information, such as the output of an application program. The window 100 is not wide enough to display the labels of some nodes in their entirety, such as the label "My Documents" 110 which appears as "My Docu." However, the label for the "Desktop" node 108 is displayed in its entirety. Additionally, the parent nodes of the hierarchical tree can be expanded or contracted. When a parent node is expanded, its child nodes are displayed. For example, the "Volume 1" node 120 is expanded to show its child nodes. When a parent node is contracted, its child nodes are not displayed. For instance, the "Appsetup on Main" node 122 has been contracted so that its child nodes are not shown.
When the window is not wide enough to display the labels of the nodes in their entirety, a user may scroll the tree using a horizontal scroll bar 112 to view these labels. FIG. 2 illustrates the window 100 when the horizontal scroll bar 112 has been used to scroll the tree. As the user scrolls, some nodes are scrolled out of the window, while other nodes are scrolled into the window. Therefore, scrolling may prevent the user from viewing all of the nodes the user wishes to see at the same time. For example, in FIG. 2, the label for "My Documents" node is visible, but the label for "Desktop" node 108 is only partially visible as "op." Additionally, when the window is not wide enough, a user may increase the width of the window. However, increasing the width of the window decreases the amount of display space remaining on the video display for displaying other information, such as the output of the application program in another window 102. FIG. 3 illustrates the window 100 after it has been widened. As illustrated, window 102 has decreased in size. Also, when the width of the window is increased, more information than the user is interested in viewing or more blank space within the window may be displayed. This is inefficient use of the display space on the video display. Moreover, some conventional systems provide "title tips," which provide information about each node in the tree. However, usually, the title tips are displayed for a node only when a label associated with that node is at least partially displayed in the window.
In some cases, the window containing the hierarchical tree is not long enough to display the hierarchical tree. Then the user may scroll through the tree using a vertical scroll bar or may expand the height of the window. Sometimes, the user is interested in viewing two or more nodes at the same time that cannot be displayed in the window simultaneously, even after the window has been expanded. In this case, the user can either continually scroll the tree to view both nodes or continually expand and contract parent nodes to view the desired nodes.